﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Model.Object
{
    public class HoaDon
    {
        [Key]
        public int ID { get; set; }

        [Display(Name="Tổng tiền")]
        public int Tong_tien { get; set; }

        [Display(Name="Phí vận chuyển")]
        [Required(ErrorMessage="Bạn phải nhập phí vận chuyển !")]
        public int Phi_ship { get; set; }

        [Display(Name="Ngày đặt hàng")]
        public DateTime Ngay_thang { get; set; }

        [Display(Name="Thanh toán")]
        public bool Trang_thai { get; set; }

        [Display(Name="Số điện thoại người nhận !")]
        [Required(ErrorMessage = "Bạn phải nhập số điện thoại !")]
        [RegularExpression(@"^\d{10,15}$",
        ErrorMessage = "Bạn phải nhập số điện thoại !")]
        public long SDT_nhan { get; set; }

        [Display(Name="Địa chỉ người nhận")]
        [Required(ErrorMessage = "Bạn phải nhập địa chỉ !")]
        public string Dia_chi_nhan { get; set; }

        [Display(Name="Họ tên người nhận")]
        [Required(ErrorMessage = "Bạn phải nhập họ tên !")]
        [RegularExpression(@"^\w{2,15}$",
        ErrorMessage = "Họ tên người nhận lớn hơn 2 ký tự !")]
        public string Ho_ten_nhan { get; set; }

        [Display(Name="Ghi chú")]
        public string Ghi_chu { get; set; }

        [Display(Name = "Email")]
        [Required(ErrorMessage = "Bạn phải nhập Email !")]
        [RegularExpression(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$",
         ErrorMessage = "Chưa đúng dạng Email !")]
        public string Email_nhan { get; set; }

        public int ID_Nguoidung { get; set; }
        [ForeignKey("ID_Nguoidung")]
        public virtual NguoiDung Nguoidung { get; set; }

        [InverseProperty("HoaDon")]
        public virtual ICollection<ChiTietHoaDon> ChiTietHoaDons { get; set; }
    }
}
